/// 用户历史记录查询请求模型
/// 对应接口: POST /users/daily_activities_comments/
class UserHistoryRequest {
  /// 用户ID（必填）
  final int userId;
  
  /// 查询日期（格式：YYYY-MM-DD）（必填）
  final String date;
  
  /// 查询类型，默认"all"（必填）
  final String type;
  
  /// 时间戳（必填，用于AES加密）
  final String timestamp;

  UserHistoryRequest({
    required this.userId,
    required this.date,
    this.type = 'all',
    required this.timestamp,
  });

  /// 转换为JSON（用于API请求）
  Map<String, dynamic> toJson() {
    return {
      'userId': userId.toString(), // 转为字符串，与MyApplication2保持一致
      'date': date,
      'type': type,
      'timestamp': timestamp,
    };
  }

  /// 从JSON创建实例
  factory UserHistoryRequest.fromJson(Map<String, dynamic> json) {
    return UserHistoryRequest(
      userId: json['userId'] is String ? int.parse(json['userId']) : json['userId'],
      date: json['date'] ?? '',
      type: json['type'] ?? 'all',
      timestamp: json['timestamp'] ?? '',
    );
  }

  @override
  String toString() {
    return 'UserHistoryRequest(userId: $userId, date: $date, type: $type, timestamp: $timestamp)';
  }
}
